#include <iostream>
#include <vector>
template <typename E>
void printVector(const std::vector<E> &v)
{
    for (const E &e : v)
    {
        std::cout << e << " ";
    }
    std::cout << std::endl;
}

template <typename E>
void print(const E &e)
{
    std::cout << e << std::endl;
}

/*

    vector 的插入和删除

    insert(const iterator pos, int count, ele); // 迭代器指向位置 pos 插入 count 个 元素 ele
    push_back(ele);  // 尾部插入一个元素
    pop_back();      // 删除最后一个元素
    erase(const iterator start, const iterator end);  // 删除迭代器从 start 到 end 之间的元素 [start, end)
    erase(const iterator pos);                        // 删除迭代器指向的元素
    clear();                                          // 删除容器中所有元素
*/

int main(int argc, char const *argv[])
{
    std::vector<int> v = {1, 3, 2, 4, 0, 1, 2, 6, 4, 0};

    v.insert(v.begin() + 5, 6, 9);
    printVector(v);

    v.push_back(100);
    printVector(v);

    v.pop_back();
    printVector(v);

    v.erase(v.begin() + 1);
    printVector(v);

    v.erase(v.begin(), v.begin() + 6);
    printVector(v);

    v.clear();
    printVector(v);

    return 0;
}